概念:队列是限定只能在表的一端进行插入在另一端进行删除操作。在表中,允许插入的一端称为“队列尾”,允许删除的另一端称为“对列尾”
顺序队列:
定义:概念:队列的顺序存储结构为顺序队列,顺序队列实际上是运算受限的顺序表
顺序队列的表示:1.和顺序表一样,顺序队列用一个向量空间来存放当前队列中的元素
2.由于队列的队头和队尾的位置时变化的,设置俩个指针front和rear分别指示队头元素和队尾元素在向量空间中的位置,它们的初值再队列初始化时均应置为0,表示队列为空
顺序队列的基本操作:1.入队时:将新元素插入rear所指的位置,然后将rear加1
2.出队时:删去front所指的元素,然后将front加1并返回被删除元素
注意:
1.当头尾指针相等时,队列为空
2.在非空队列里,队头指针始终指向队头元素,指针始终指向下一个元素的下一个
顺序队列的溢出现象:1.“下”溢现象,当队列为空时,作出队运算产生的溢出现象,“下溢”常用作程序控制转移的条件
2.“真上溢”现象,当队列满时,做入队运算产生空间溢出的现象。“真上溢”是一种出错状态,要设法避免
3.“假上溢”:由于入队和出队操作中,头尾指针只指向后增加不减小,致使出队元素的空间永远无法重新利用。当队列实际的元素个数远远小于空间的规模,但可能由于队尾指针已超越空间的上界,没有空间。
循环队列:为充分利用空间,克服“假上溢”现象的方法是:将空间想象为一个首尾相接的圆环,存储在其中的队列称为循环队列。